小编Aar*_*all的帖子

如何使用phoenix_html发布具有多个选择表单字段的ID集合

我试图让多个选择与phoenix_html表单助手一起工作

<%= select f, :challenge_ids, ["foo": "1","bar": "2","baz": "3"], class: "form-control", multiple: ""  %>
Run Code Online (Sandbox Code Playgroud)

但只有最后一个选定项目的id才会被发送到params中的服务器

%{"challenge_ids" => "3", "content" => "", "name" => ""}
Run Code Online (Sandbox Code Playgroud)

我也尝试过:challeng_ids改为:"challenge_ids[]"试图获得类似于多选标记的rails输出的东西,但这没有任何区别

elixir phoenix-framework

25
推荐指数
1
解决办法
2592
查看次数

Ecto:将 %Plug.Upload 投射到虚拟字段以进行文件上传验证

我希望仅当变更集有效并包含文件时才能够触发文件上传。

是否有可能/一个好主意,%Plug.Upload例如投射

def changeset(model, params \\ :empty) do
    model
    |> cast(params, @required_fields, @optional_fields)
    |> save_image
end

defp save_image(changeset) do
  case changeset do 
    %Ecto.Changeset{valid?: true, changes: %{image: image}} ->
      %{ "url" => "http://" <> image_url } = Cloudinary.upload(image)
      put_change(changeset, :image_url, image_url)
    _ -> 
     changeset
 end
end
Run Code Online (Sandbox Code Playgroud)

我试图设置:image为类型的虚拟字段,:map但它不会投射` %Plug.Upload

schema "model" do
  field :image_url, :string
  field :image, :map, virtual: true
  timestamps
end
Run Code Online (Sandbox Code Playgroud)

这只会导致消息验证错误 Image is invalid

elixir ecto phoenix-framework

5
推荐指数
2
解决办法
1326
查看次数

在生产中运行混合任务

我有许多任务和工作,希望能够在生产灵丹妙药应用程序上手动执行。目前,我通过在中运行代码来执行它们remote_console。我试图通过使用来运行它们/bin/my_app command MyModule my_func,但是我收到关于另一个Erlang节点正在使用的资源的错误。

我更喜欢使用/bin/my_app command MyModule my_func样式,以便可以使用ssh运行bash脚本。

在Elixir应用程序上运行远程任务的推荐方法是什么?

elixir-mix elixir production-environment

5
推荐指数
1
解决办法
822
查看次数

Rails:自定义嵌套控制器操作

我想设置一个自定义的嵌套控制器操作,但我无法弄清楚路由.

我一直收到以下错误

No route matches [GET] "/assets"
Run Code Online (Sandbox Code Playgroud)

的routes.rb

resources :companies do
  resources :requests do
    match :accept
  end
end
Run Code Online (Sandbox Code Playgroud)

index.html.rb

<% @requests.each do |request| %>
  <ul class="users">
    <li>
    <%= full_name(request.profile) %> 
    <%= request.status %> 
    <%= link_to "Accept",
            :controller => "requests", :action => "accept",
            :id => request.id %>
    </li>
  </ul>
<% end %>
Run Code Online (Sandbox Code Playgroud)

custom-action ruby-on-rails controller-action nested-routes

4
推荐指数
1
解决办法
7436
查看次数

Rails:控制器助手

如果我有一个方法,我想在几个控制器中使用,以保持我的代码DRY.这样做的轨道方式是什么?

controller module ruby-on-rails dry

3
推荐指数
1
解决办法
1462
查看次数

使用RegExp格式化字符串以设置分隔符

我正在尝试格式化字符串,如下所示

确保所有数字都使用破折号作为分隔符.示例:480.01.4430和480014430都是480-01-4430.

这是我到目前为止所提出的,但我无法理解为什么它不起作用

def format_ssns(string)
  ssn = string[/\d{9}/]
  ssn.gsub(/\d{9}/, /\d{3}-\d{2}-\d{4}/)
end
Run Code Online (Sandbox Code Playgroud)

ruby regex delimiter gsub

3
推荐指数
1
解决办法
1881
查看次数

Rails:我能看到哈希的内容吗?

有没有办法可以看到通过表单或rails中的链接发送的哈希的内容?

hash ruby-on-rails

0
推荐指数
1
解决办法
1444
查看次数