Tag: 参数

如何访问嵌套的params

我想得到一些嵌套的参数。 我有一个订单,有许多项目,这些项目都有一个类型。 我想从控制器创建方法获取type_id参数。 @order = Order.new(params[:order]) @order.items.each do |f| f.item_type_id = Item_type.find_by_name(f.item_type_id).id end 原因是我希望用户能够在视图中创建新的item_types。 当他们这样做时,我使用AJAX调用将它们添加到数据库中。 当他们发布表单时,我在item_type_id参数中获取item_type的名称,我想找到正确的item_type并将id设置为

RAILS3:通过button_to传递任意参数?

我正在尝试在我的第一个Rails应用程序(Rails 3)中做一些非常简单的事情,我不确定我做错了什么,或者是否有更好的方法。 虽然搜索很多,但在网上找不到任何东西,或者在这里找不到任何东西。 在应用程序中,我有WorkRequests和文章。 在查看文章时,我想要一个按钮来创建WorkRequest,并且当出现新的WorkRequest表单时,填写文章。基本上,我正在尝试将Article.id传递给新的WorkRequest。 只需添加参数即可在link_to中工作,但我希望它是一个按钮。 虽然它在Article表单的HTML中显示为查询参数,但它永远不会到达WorkRequest.new方法。 2010年的这篇文章详细解释了这个问题,但该解决方案对我不起作用(请参阅我在页面末尾的评论。) 这似乎应该是一个相当容易和常见的事情(一旦我弄明白,在我自己的应用程序中还有其他几个地方我想做同样的事情)但我一直在敲打这个特殊的东西墙几天了。 我是Rails的新手 – 这是我的第一个应用程序 – 所以我希望有经验的人可以提供帮助! 提前致谢。

如何在rails中将数组保存到数据库

如果我有这样的参数: params[“scholarship”] = {“name”=>”test”, “state_ids”=>[“1”, “2”, “3”, “4”]} 当我创建对象到数据库字段state_id不保存到数据库? 如何使用格式保存到数据库: # 怎么办? 谢谢你

Rails:使用render:action传递参数?

我有一个表单,根据调用它的参数显示不同。 防爆。 testsite.local/users/new?type=client 因此,如果type是a或b ,则表单将显示不同的字段。 我的问题是表单填写不正确,因为如果用户无法正确保存,它会使用默认错误消息呈现表单,但也没有我的参数。 testsite.local/users/new 如何调用render操作并将此参数设置的内容传递给它? 这样我仍然可以保留我内置的错误消息,说明为什么表单无法正确汇总并使其成为正确的表单? 这是我的create动作: def create @user = User.new(params[:user]) roles = params[:user][:assigned_roles] if @user.save update_user_roles(@user,roles) if current_user.is_admin_or_root? flash[:message] = “User \”#{@user.username}\” created.” redirect_to users_path else flash[:message] = “Congrats! You’re now registered!” redirect_to app_path end else render :action => ‘new’ end end

undefined方法`stringify_keys!’ 铁轨上的ruby

我有这个代码: def addcar @car = Car.new(params[:car]) render :action => ‘list’ end ‘car’, :action => ‘addcar’, :car => cell.to_s %> 它给了我这个错误: undefined方法`stringify_keys!’ 为“本田”:字符串 我不明白有什么问题:car 。

Rails 4错误:ArgumentError – 参数数量错误

我是rails的新手,目前正在编写我的第一个应用程序。 我创建了一个搜索来搜索我的用户(用户名或标签 – 使用acts_as_taggable_on gem)。 出现以下错误: ArgumentError in UsersController#index wrong number of arguments (0 for 1) 用户模型 # Search def self.search(search) if search where([“username LIKE ?”, “%#{search}%”]) elsif searchtags none else all end end # Search Tags def self.searchtags(searchtags) if searchtags tagged_with([“#{searchtags}”], :any => true, :wild => true) else none end end 用户控制器 def index […]

在Ruby中object.method(a,b)和方法(a,b)之间有什么区别?

我是编程新手,我正在努力学习Ruby。 我现在无法理解方法。 我理解: 方法允许我执行一大块代码而不必重写它,这样的方法如下所示: example_method 参数允许我将值传递到方法中的代码中,该代码位于方法中定义的占位符的位置。 这样我就可以用不同的输入执行一组代码。 带参数的方法如下: example_method( x , y ) 但我对一个对象的方法实例化实际上在做什么感到困惑。 例如: object.example_method( x, y ) 这是什么意思? 为什么方法附加到具有句点符号的对象? 我们这样做是为了能在方法中引用对象的实例 / 类变量吗? 有没有其他理由这样做? 例如,如果: def example_method(x , y) x * y end object.exaple_method(a , b)是否与example_method(a , b) ? 感谢您的帮助,对不起,如果我不清楚的话。

当操作依赖于传递的参数时,如何使用redirect_to?

当Edit操作依赖于传递的参数时,如何使用redirect_to? 我有两个非常简单的动作编辑和更新。 点击提交后,在更新后我想将用户重定向回编辑操作。 如果编辑操作需要参数,我该怎么做? def edit @account = Account.find_by_user_id(@params[‘user_id’]) end def update account = Account.find(params[:account_user_id]) if account.update_attributes(params[:name]) redirect_to params[:user_id].merge!(:action => :edit) else render :text => ‘Sorry there was an error updating.’ end end 这段代码爆炸了

参数保存不正确(Rails)

我有一个模型消息,我有一个recipient_list保存为字符串。 无论出于何种原因保存,我都会保存除recipient_list之外的所有参数,只剩下recipient_list。 我很难知道这可能是什么原因。 模型: class Message < ActiveRecord::Base attr_accessible :content, :sender_id, :recipient_list attr_reader :recipient_list #necessary for jquery-token-input belongs_to :sender, class_name: "User" validates :content, presence: true validates :sender_id, presence: true validates :recipient_list, presence: true def recipient_list=(recipient) #jquery-token-input self.recipient_ids = recipients.split(",") end end 控制器: def create @message = current_user.sent_messages.build(params[:message]) if @message.save flash[:success] = “Message Sent.” redirect_to ‘/users/’+current_user.id.to_s+’/messages’ […]

Rails多记录表单仅保存最后记录的参数

我正在努力为教师提供一个可以同时创建多个学生的表格。 似乎大多数人都使用嵌套属性来处理这个概念,但是当我只使用单个模型时,我很难理解它是如何工作的。 这篇文章似乎可以在没有嵌套属性的情况下实现这一点,但我的结果并不像作者所建议的那样工作。 学生数组应该为表单的每个部分包含一个哈希。 但是当我提交表单并检查参数时,数组中只存在一个哈希值。 调整她的方法,我有这个控制器: students_controller.rb def multi @student_group = [] 5.times do @student_group << Student.new end end (我正在使用一种我称之为“多”的动作,因为它与常规的“创建”动作不同,后者一次只创建一个学生。我已经尝试将所有内容都移动到常规创建动作中,但我得到相同的结果。) 风景: multi.html.erb 结果: (byebug) params “✓”, “authenticity_token”=>”3Xpi4XeqXuPs9jQvevy+nvGB1HiProddZzWq6Ed7Oljr3TR2fhx9Js6fN/F9xYcpgfDckCBOC2CoN+MrlFU0Bg==”, “students”=>{“first_name”=>”fff”, “last_name”=>”ggg”}, “commit”=>”Save changes”, “controller”=>”students”, “action”=>”create”} permitted: false> 名为“fff ggg”的学生只包含一个。 应该有四个不同学生的其他哈希。 提前感谢您的任何见解。