我已经正确连接了 hotwire/turbo,以便对页面上某个位置的单个模型进行增删改查操作,但我也想同时在页面上的不同位置更新同一模型。我以为我可以设置两个流,但它似乎不起作用。
指定目标确实适用于创建操作,具体取决于我如何命名目标,但不适用于更新和销毁。这是我认为应该有效但无效的:
----位置 1(“生物”流)----
<div id="creatures">
<%= turbo_stream_from "creatures" %>
<%= turbo_frame_tag "creatures" do %>
<div>
<% @creatures.each do |creature| %>
<div>
<%= render "creatures/creature", creature: creature %>
</div>
<% end %>
</div>
<% end %>
</div>
Run Code Online (Sandbox Code Playgroud)
----位置 2(“creatures_main”流)----
<%= turbo_stream_from "creatures_main" %>
<%= turbo_frame_tag "creatures_main" do %>
<% @creatures.each do |creature| %>
<div>
<%= render "creatures/creature", creature: creature %>
</div>
<% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
---- 常见_creature.html.erb 部分 ----
<%= turbo_frame_tag dom_id(creature) do %>
<%= link_to creature.name, …Run Code Online (Sandbox Code Playgroud) 我有一个使用|的简单CSV文件 (管道)作为引用字符.将我的rails应用程序从Ruby 1.9.2升级到1.9.3后,我收到"CSV :: MalformedCSVError:第1行中缺少或流浪的引用"错误.
如果我弹出打开vim并替换| 使用常规引号,单引号甚至"=",文件工作正常,但是| 和*导致错误.有人对可能导致这种情况的原因有任何疑问吗?这是一个可以重现错误的简单单线程:
@csv = CSV.read("public/sample_file.csv", {quote_char: '|', headers: false})
Run Code Online (Sandbox Code Playgroud)
同样在Ruby 2.0和irb w/out load rails中重现了这一点.
编辑:以下是CSV中的一些示例行
|076N102 |,|CARD |,| 1|,|NEW|,|PCS |
|07-1801 |,|BASE |,| 18|,|NEW|,|PCS |
Run Code Online (Sandbox Code Playgroud) 我有一个带有一些常规方法的用户控制器.我的ability.rb已设置但我需要未登录的用户才能处理这一操作.我已经在我的ability.rb中为未登录的用户尝试了以下所有内容,但它没有任何区别......我仍然收到未经授权的错误.
can :create, User
can :update, User
can :edit, User
can :modify, User
Run Code Online (Sandbox Code Playgroud)
接下来我尝试在我的ability.rb中创建一个条目
can :do_this_action, User
Run Code Online (Sandbox Code Playgroud)
并将其放在用户控制器中
authorize!(:can_do_this_action, User.new || @user)
Run Code Online (Sandbox Code Playgroud)
仍然没有运气..
最后,我试图跳过这个动作.我在用户控制器中用它做了这个:
skip_authorization_check :only => [:create, :new, :custom_method ]
authorize_resource
Run Code Online (Sandbox Code Playgroud)
这仍然给我的自定义方法一个未经授权的错误 任何人都知道我哪里出错了?提前致谢.