路由-我有2条与此相关的路由
route::resource(“items”,“itemscontroller”);
route::get(“process/{process}/items”,“itemscontroller@index”);
当我使用第2个时,index函数(在上面提到的控制器中)拾取进程id并无故障地运行。
这是一个单独视图上的链接,该视图使用了上面列出的第二条路由:
{{html::link(“process/”.$process->id.“/items”,“manage items”,array(“class”=>“btn btn-primary”))}}
当我从同一个控制器中的update函数使用重定向时
“ItemsController::Index()缺少参数%1”
这是一个接受参数的函数,因此它可以显示具有该ID的所有项。
我用什么似乎并不重要。下面是我为了重定向到索引函数而尝试的一些语句:
>
返回redirection::route('items.index',array($data['process_id']));
返回redirect::action('itemscontroller@index',array($data['process_id']));
我也试过用“with(...)”
以下(使用route或action)给出一个“route not defined”错误:
返回redirect::action('process/'.$data['process_id'].'/items');
我认为像在索引函数中那样重新创建视图不是一个好的做法。我应该只是能够重定向和完成了它。
我做错了什么?
模型关系如下:1项目有许多项1项有许多属性1属性有许多扩展
<?php
class ItemAttributesController extends \BaseController {
/**
* Display a listing of itemattributes
*
* @return Response
*/
public function index($item_id)
{
return $this->makeIndex($item_id);
}
/**
* Show the form for creating a new itemattribute
*
* @return Response
*/
public function create()
{
return View::make('item_attributes.create');
}
/**
* Store a newly created itemattribute in storage.
*
* @return Response
*/
public function store()
{
$validator = Validator::make($data = Input::all(), Itemattribute::$rules);
if ($validator->fails())
{
return Redirect::back()->withErrors($validator)->withInput();
}
$attribute = Itemattribute::create($data);
// add created attribute id to sequence in the item for this attribute
$item = Item::findOrFail($attribute->item_id);
// get the sequence data
// append the attribute id
if (isset($item->attribute)){
$item->attribute = $item->attribute.', '.$attribute->id;
} else {
$item->attribute = $attribute->id;
}
$item->save();
return $this->makeIndex($data['item_id']);
}
/**
* Display the specified itemattribute.
*
* @param int $id
* @return Response
*/
public function show($id)
{
$itemattribute = Itemattribute::findOrFail($id);
return View::make('item_attributes.show', compact('itemattribute'));
}
/**
* Show the form for editing the specified itemattribute.
*
* @param int $id
* @return Response
*/
public function edit($id)
{
$itemattribute = Itemattribute::find($id);
return View::make('item_attributes.edit', compact('itemattribute'));
}
/**
* Update the specified itemattribute in storage.
*
* @param int $id
* @return Response
*/
public function update($id)
{
$itemattribute = Itemattribute::findOrFail($id);
$validator = Validator::make($data = Input::all(), Itemattribute::$rules);
if ($validator->fails())
{
return Redirect::back()->withErrors($validator)->withInput();
}
$itemattribute->update($data);
return $this->makeIndex($data['item_id']);
}
/**
* Remove the specified itemattribute from storage.
*
* @param int $id
* @return Response
*/
public function destroy($id)
{
$attribute = Itemattribute::findOrFail($id);
//find the item
$item = Item::findOrFail($attribute->item_id);
// get the sequence string
if (isset($item->attribute)){
// convert to array
$arr=explode(",",$item->attribute);
// remove item
if(($key = array_search($id, $arr)) !== false) {
unset($arr[$key]);
}
// convert back to string and replace initial string
$item->attribute = implode(",", $arr);
// save
$item->save();
}
ItemAttribute::destroy($id);
// return Redirect::route('item_attributes.index');
return $this->makeIndex($attribute->item_id);
}
private function makeIndex($item_id){
$item = Item::findOrFail($item_id);
$project = Project::findOrFail($item->project_id);
$item_attributes = DB::table('item_attributes')->where('item_id', $item->id)->get();
return View::make('item_attributes.index', compact('item_attributes', 'item', 'project'));
// return Redirect::to('item_attributes', );
}
}
Route::get('/', function()
{
return View::make('home');
});
Route::resource('projects', 'ProjectsController');
Route::resource('items', 'ItemsController');
Route::resource('item_attributes', 'ItemAttributesController');
Route::resource('attribute_extentions', 'AttributeExtensionsController');
Route::get('project/{projects}/items', 'ItemsController@index');
Route::get('project/{projects}/item/create', 'ItemsController@create');
Route::get('item/{items}/item_attributes', array('as' => 'item_attributes', 'uses' => 'ItemAttributesController@index'));
Route::get('item/{items}/attribute_extentions', 'AttributeExtensionsController@index');
您没有正确使用route操作,它应该指向controller@函数。
return Redirect::action('ItemsController@index', array('item_id' => 1));
问题内容: 在flask中,我可以这样做: 并且如果foo.html包含,页面将会显示。但是,如果有一条通往foo的路线怎么办: 在这种情况下,如果我仍然希望这种逻辑发生,那么进入foo.html的唯一方法是通过: 因此,如何使该变量传递到路由,这样我不必在加载路由之前重写重写该路由计算的逻辑代码? 问题答案: 你可以将消息作为显式URL参数传递(正确编码),也可以在重定向之前将消息存储到(coo
问题内容: 我正在尝试通过ui-router state.go传递参数 但是,我不确定如何传递参数。这是我的代码 我可以将页面重定向到second.html,但似乎无法获取传递给secondCtrl的参数。有人可以帮我吗? 谢谢。 问题答案: 首先,您必须在route中添加参数。 现在添加第一个控制器 在第二个控制器中注入$ stateParams
问题内容: 我正在尝试使用Struts2实现以下目标 这就是我在做什么: 为什么以上内容不能重定向为以下任何建议: 问题答案: 到目前为止,对我有用的解决方案是 在操作中定义味精的设置者和获取者的位置
问题内容: 我最近遇到了一个有趣的行为。似乎如果我重写.equals()以采用Object以外的参数,则不会调用它。谁能向我解释为什么会这样?这似乎违反了我对OOP中多态性的理解,但是也许我缺少了一些东西。 这是显示我所看到的内容的简单得多的代码: 运行此命令时,将打印“ ”。看起来好像调用了equals(Object)函数,即使还有另一个可行的函数也是如此。相比之下,如果我这样写等于,则代码按预
Swagger提出了一个类似的问题:重用枚举定义作为查询参数。我的问题是我是否可以使用枚举(可重用或不可重用)。每当我尝试这样做的时候,我都会得到错误,但是使用字符串不会给出任何错误 我的问题是上面的例子是否有效,或者我应该尝试什么可能的改变。我使用的是OpenAPI 3.0.0。 错误: 我对XX.client知之甚少.cpp .它是一个自动生成的文件,是在编译yaml文件后构建的。
当我运行flink时,java中的scala REPL脚本无法编译。